﻿using System.Collections.Generic;
using System.Security.Principal;

namespace Sidvall.Security
{
	public interface IClaimsPrincipalManager
	{
		void AddClaim(IIdentity identity, Claim claim);
		void AddClaims(IIdentity identity, IEnumerable<Claim> claims);
		void ClearClaims(IIdentity identity);
		Claim FindClaim(IIdentity identity, string claimType);
		ClaimCollection FindClaims(IIdentity identity, string claimType);
		bool HasClaim(IIdentity identity, string claimType, string value);
		bool RemoveClaim(IIdentity identity, Claim claim);
		void RemoveClaims(IIdentity identity, IEnumerable<Claim> claims);
	}
}
